package com.heiye.user.biz.domain.mapper;

import com.heiye.user.biz.domain.dataobject.UserDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author: heiye
 * @date: 2024/09/20 下午1:04
 * @version: v1.0.0
 * @description: 用户Mapper
 */
@Mapper
public interface UserDOMapper {
    /**
     * 添加用户
     *
     * @param record
     * @return
     */
    int insert(UserDO record);

    /**
     * 根据手机号查询用户
     *
     * @param phone
     * @return
     */
    UserDO selectByPhone(String phone);

    /**
     * 根据用户ID查询用户信息
     *
     * @param userId
     * @return
     */
    UserDO selectById(Long userId);

    /**
     * 修改用户基本信息
     *
     * @param record
     */
    void updateByPrimaryKeySelective(UserDO record);

    /**
     * 根据邮箱查询用户
     *
     * @param email
     * @return
     */
    UserDO selectByEmail(String email);

    /**
     * 批量查询用户信息
     *
     * @param ids
     * @return
     */
    List<UserDO> selectByIds(@Param("ids") List<Long> ids);
}
